package cn.iocoder.yudao.module.iot.gateway.protocol.tcp.detector;

import io.vertx.core.net.NetSocket;


/**
 * TCP 协议检测器
 *
 */
public interface ProtocolDetectionStrategy {
    /**
     * 检测协议类型
     * @param data 数据内容
     * @param socket 网络连接上下文
     * @return 协议类型标识符
     */
    String detectProtocol(byte[] data, NetSocket socket);

    /**
     * 获取策略优先级，数值越小优先级越高
     */
    int getPriority();

    /**
     * 获取支持的协议类型
     */
    default java.util.Set<String> getSupportedProtocols() {
        return java.util.Collections.emptySet();
    }
}

